package haiyangwangwork.day11.homework.ex1;

import java.util.Scanner;

public class Demo3 {



        public static void main(String[] args) {
//    通常由两个人玩，一方出数字，一方猜。
//    出数字的人要想好一个没有重复数字的4个数，不能让猜的人知道。
//    猜的人就可以开始猜。每猜一个数字，出数者就要根据这个数字给出几A几B，
//    其中A前面的数字表示数字正确且位置正确的数的个数，
//    而B前的数字表示数字正确而位置不对的数的个数。
            // 整型
//        int[] sysNums = new int[4];
            // 0-9字符 对应的数字 48-57
            char[] sysNums = new char[4];
            for(int i = 0;i < sysNums.length;i++){
//            sysNums[i] = (int)(Math.random() * 10);
                sysNums[i] = (char)((Math.random() * 10) + 48);
                for(int j = 0;j < i;j++){
                    if(sysNums[i] == sysNums[j]){
                        i--;
                        break;
                    }
                }
            }

            for(int i = 0;i < sysNums.length;i++){
                System.out.print(sysNums[i] + " ");
            }
            System.out.println();

            Scanner input = new Scanner(System.in);
            for (;;){
                System.out.println("请输入猜的数据：");
                String str = input.next();
                if(str.length() != 4){
                    System.out.println("输入信息有误，请重新输入！");
                    continue;
                }
                char[] inputChars = str.toCharArray();
                boolean flag = false;
                for(int i = 0;i < inputChars.length;i++){
                    for(int j = 0;j < i;j++){
                        if(inputChars[i] == inputChars[j]){
                            flag = true;
                            break;
                        }
                    }
                }
                if(flag){
                    System.out.println("输入信息有误，请重新输入！");
                    continue;
                }

                // 完成用户输入信息和系统信息的比较给出结果
                // 计数变量 保存A和B对应数据
                int countA = 0;
                int countB = 0;
                for(int i = 0;i < sysNums.length;i++){
                    for(int j = 0;j < inputChars.length;j++){
                        if(sysNums[i] == inputChars[j]){
                            if(i == j){
                                countA++;
                            }else {
                                countB++;
                            }
                        }
                    }
                }
                System.out.println(countA +"A" +countB + "B");
                if(countA == 4){
                    System.out.println("恭喜你猜对了");
                    break;
//                System.exit(0);
                }
            }

            // break 结束一层循环
            // continue 结束一次循环,继续下一次循环
//        for(int i = 0;i <= 50;i++){
//            if(i % 3 == 0){
//                continue;
//            }
//            System.out.println(i);
//        }
//        int i = 1;
//        while (i < 50){
//            if(i % 3 == 0){
//                continue;
//            }
//            System.out.println(i);
//            i++;
//        }
        }
    }

